package org.raymond.iworks.study.basic.designpattern.state;

/**
 * @author raymond
 * @version V1.0
 * @Description: TODO
 * 发放奖品的状态
 */
public class DispenseState implements State{
    private RaffleActivity activity;
    public DispenseState(RaffleActivity activity){
        this.activity = activity;
    }
    @Override
    public void deduceMoney() {
        System.out.println("不能扣除积分");
    }

    @Override
    public boolean raffle() {
        System.out.println("不能抽奖");
        return false;
    }

    @Override
    public void dispensePrize() {
        if(activity.getCount()>0){
            System.out.println("恭喜中奖了");
            activity.reducePrizeCount();
            activity.setState(activity.getNoRaffleState());
        }else{
            System.out.println("很遗憾,奖品发完了");
            activity.setState(activity.getDispenseOutState());
        }
    }
}
